// index.js
const defaultAvatarUrl = 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0'

const api = require('../../utils/api.js'); // 引入 api.js

Page({
  data: {
    email: '',
    password: '',
    isCountdown: false,
    countdown: 60,
    accessToken: '',
    accessUid: '',
    isLoading: false
  },


  // 监听邮箱输入
  onInputEmail(e) {
    this.setData({
      email: e.detail.value
    });
  },

  // 监听口令输入
  onInputCode(e) {
    this.setData({
      password: e.detail.value
    });
  },

  // 点击提交按钮
  onSubmit() {
    const {
      email,
      password
    } = this.data;

    // 邮箱或口令不能为空
    if (!email || !password) {
      wx.showToast({
        title: '邮箱或口令不能为空',
        icon: 'none'
      });
      return;
    }

    // 邮箱格式验证
    const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.([a-zA-Z]{2,})$/;
    if (!emailRegex.test(email)) {
      wx.showToast({
        title: '邮箱格式不正确',
        icon: 'none'
      });
      return;
    }

    // 显示加载动画
    wx.showLoading({
      title: '登录中...',
      mask: true // 设置为 true 会显示透明的背景
    });

    api.getAccessToken()
      .then((resData) => {
        console.log(resData);
        console.log('AccessToken:', resData.access_token)
        this.setData({
          accessToken: resData.access_token,
          accessUid: resData.access_uid,
        });

        const accessToken = this.data.accessToken;
        const accessUid = this.data.accessUid;
        // 你可以在这里使用 accessToken 进行后续操作
        wx.request({
          url: 'https://developer.qlist.cn/idrm/wxapi/account/binding',
          method: 'POST',
          header: {
            'Content-Type': 'application/json',
            'Authorization': `Bearer ${accessToken}`, // 使用 AccessToken
          },
          data: {
            email: email,
            password: password
          },
          success: (res) => {
            console.log(res, '获取 AccessToken 结果');
            // 隐藏加载状态

            if (res.data.code === 0) {
              // 登录成功
              wx.showToast({
                title: '登录成功',
                icon: 'success'
              });
              wx.hideLoading();


              // 保存用户信息到本地
              wx.setStorageSync('access_uid', res.data.data.access_uid);
              wx.setStorageSync('access_token', res.data.data.access_token);

              // 跳转到其他页面
              wx.switchTab({
                url: '/pages/sign/sign'
              });

            } else {
              // 登录失败
              wx.showToast({
                title: `登录失败: ${res.data.message}`,
                icon: 'none'
              });
            }
          },
          fail: (err) => {
            console.log(err);
            wx.showToast({
              title: '请求失败，请稍后重试',
              icon: 'none'
            });
            wx.hideLoading(); // 确保在请求失败时隐藏加载状态
          }
        });
      })
      .catch((error) => {
        console.error('获取 AccessToken 失败:', error);
        // 处理失败的逻辑
        wx.hideLoading(); // 确保在请求失败时隐藏加载状态
      });
  },

  // 去注册
  goRegister() {
    // 跳转到注册页面
    wx.navigateTo({
      url: '/pages/register/register'
    });
  },

  onLoad() {


    // 调用 App 中的自动登录功能
    const appInstance = getApp();
    appInstance.autoLogin().then(() => {
      // 页面加载时显示 Loading
      wx.showLoading({
        title: '自动登录中...',
        mask: true,
      })
      wx.hideLoading()
      wx.switchTab({
        url: '/pages/sign/sign' // 跳转到详情页面
      });
    }).catch(() => {
      wx.hideLoading()
      wx.showModal({
        title: '提示',
        content: '您的账号尚未绑定，请手动登录。',
        confirmText: '确认',
        success: (res) => {
          if (res.confirm) {
            // 跳转到登录页面
            wx.navigateTo({
              url: '/pages/login/login', // 修改为你的登录页面路径
            });
          }
        }
      });
    });
  }



})